function model = nmf_train(feat_train, score_train)

k = 15;
%k = min( [k, floor(size(score_train,2)/2),size(feat_train,2)]);
%k = max(k,2);

%[model.W,model.H,model.iter,model.HIS]=nmf(feat_train , k);
[model.W,H ] = nmf([feat_train score_train],k);

model.H_score = H(:, size(feat_train,2)+1:end);
model.H = H(:,1:size(feat_train,2));


%model.H_score = inv( model.W'* model.W) * model.W' * score_train;